home *** CD-ROM | disk | FTP | other *** search
- property poDotMan, pkMaxDigits, poChapterBtnGroup, poStartBtn, poPrintBtn, poNumQuestionsRadio, poPrev, poTop, poNext, poQuestionTemplate, poRightQuestions, poWrongQuestions, piFirstSummarySprite, piLastSummarySprite, poOwner, psChapterQuestions, plRightWrong, piNumChapters, piNumQuestionsAvailable, piNumQuestions, piNumAnswers, piCurChapter, piCurQuestion, piCurChapterQuestion, piCorrectAnswer, piTotalCorrect, plQuestionsAnswerOrder, plFirstAnswer, pzEvalType, pliChapters, plpTestQuestions, piNumQuestonsAnswered, poPrintEvaluation
-
- on new me, xoDotMan, xzEvalType, xzNumQuestions, xiChapter
- poDotMan = xoDotMan
- pzEvalType = xzEvalType
- piNumQuestions = xzNumQuestions
- piCurChapter = xiChapter
- poPrintEvaluation = new(script("printMCEvaluationParent"), me, 6, 1)
- return me
- end
-
- on mInit me, xInfo
- mInitVars(me, xInfo)
- if not voidp(piCurChapter) then
- pliChapters = [piCurChapter]
- mClearChapterSelection(me)
- mInitQuestions(me)
- mInitNumberFields(me)
- mInitButtons(me, pzEvalType, "prev", "next")
- mSetButtonState(me)
- else
- mInitEvalStart(me)
- end if
- end
-
- on mInitVars me, xInfo
- piNumQuestionsAvailable = getaProp(xInfo, #numAvailable)
- piNumChapters = getaProp(xInfo, #numChapters)
- piNumAnswers = 4
- pkMaxDigits = 2
- pliChapters = []
- if pzEvalType = #test then
- set the text of field "testRightScroll" to EMPTY
- set the text of field "testWrongScroll" to EMPTY
- end if
- member("fromChapterText").text = EMPTY
- end
-
- on mInitEvalStart me
- mResetDots(poDotMan)
- mInitBkg(me, string(pzEvalType) & "BG")
- viSprite = mGiveDot(poDotMan)
- poStartBtn = InitPopBtn(me, viSprite, "start" & string(pzEvalType), #mStartBtnClick, VOID, "clickSnd")
- mSetState(poStartBtn, #gray)
- mDisable(poStartBtn, 1)
- viSprite = mGiveDot(poDotMan)
- poPrintBtn = InitPopBtn(me, viSprite, "Print" & string(pzEvalType), #mPrintBtnClick, #clean, "clickSnd")
- mSetState(poPrintBtn, #gray)
- mDisable(poPrintBtn, 1)
- mInitChapterSelectionBtns(me)
- if pzEvalType = #test then
- mInitNumQuestionsRadio(me)
- end if
- end
-
- on mInitBkg me, xsMember
- viSprite = mGiveDot(poDotMan)
- set the member of sprite viSprite to xsMember
- end
-
- on mInitButtons me
- case pzEvalType of
- #quiz:
- vsMemberTop = "showAnswer"
- #test:
- vsMemberTop = "doneTest"
- end case
- viSprite = mGiveDots(poDotMan, 3)
- poTop = InitPopBtn(me, viSprite, vsMemberTop, symbol(vsMemberTop), VOID, "clickSnd")
- poPrev = InitPopBtn(me, viSprite + 1, "back", #mPrevBtnClick, VOID, "clickSnd")
- poNext = InitPopBtn(me, viSprite + 2, "next", #mNextBtnClick, VOID, "clickSnd")
- end
-
- on mInitChapterSelectionBtns me
- case pzEvalType of
- #quiz:
- vsButtonType = "Radio"
- #test:
- vsButtonType = "Toggle"
- end case
- vsMember = string(pzEvalType) & "Circle"
- poChapterBtnGroup = new(script("BtnGroupWLabelParent"), vsButtonType, vsMember, "chapterSpacer", "chapterLabel", poDotMan, piNumChapters, pkMaxDigits)
- mSetOwner(poChapterBtnGroup, me)
- mSetEvent(poChapterBtnGroup, #chapterSelectionClick)
- end
-
- on mInitNumQuestionsRadio me
- poNumQuestionsRadio = new(script("BtnGroupWLabelParent"), "Radio", string(pzEvalType) & "Circle", "NumQuestionRadioSpacer", "QuestionLabel", poDotMan, 5, pkMaxDigits)
- mSetOwner(poNumQuestionsRadio, me)
- mSetEvent(poNumQuestionsRadio, #numQuestionsRadioBtn)
- mDisable(poNumQuestionsRadio, 0)
- mDepressABtn(poNumQuestionsRadio, 1)
- end
-
- on mInitReviewQuestionBtns me
- viSprite = mGiveDots(poDotMan, piNumQuestions)
- repeat with i = 1 to piNumQuestions
- vsResult = getAt(plRightWrong, i)
- AlignCenteredSpriteToMember(viSprite + i - 1, "chapSpacer" & IntegerToString(i, pkMaxDigits))
- voQuestionButton = new(script("NotifyOwnerParent"), viSprite + i - 1, "results" & vsResult)
- mSetMyOwnerMyEventMyID(voQuestionButton, me, #questionReview, i)
- set the cursor of sprite (viSprite + i - 1) to 280
- add(the scriptInstanceList of sprite (viSprite + i - 1), voQuestionButton)
- end repeat
- end
-
- on mInitReviewScrollText me
- viSprite = mGiveDots(poDotMan, 2)
- if the text of field "testRightScroll" = EMPTY then
- vsWrong = EMPTY
- vsRight = EMPTY
- repeat with i = 1 to piNumQuestions
- vsResult = getAt(plRightWrong, i)
- vsLine = "Question " & string(i) & " - Chapter " & string(getPropAt(plpTestQuestions, i))
- if vsResult = "right" then
- vsRight = vsRight & RETURN & vsLine
- next repeat
- end if
- vsWrong = vsWrong & RETURN & vsLine
- end repeat
- delete line 1 of vsRight
- delete line 1 of vsWrong
- member("testWrongScroll").text = vsWrong
- member("testRightScroll").text = vsRight
- end if
- set the member of sprite viSprite to "testRightScroll"
- set the member of sprite (viSprite + 1) to "testWrongScroll"
- member("testRightScroll").rect = member("testRightSpacer").rect
- set the rect of sprite viSprite to member("testRightSpacer").rect
- member("testWrongScroll").rect = member("testWrongSpacer").rect
- set the rect of sprite (viSprite + 1) to member("testWrongSpacer").rect
- AlignTextBoxToSpacer(viSprite, "testRightSpacer")
- AlignTextBoxToSpacer(viSprite + 1, "testWrongSpacer")
- if voidp(poRightQuestions) then
- poRightQuestions = new(script("HotTextFieldParent"), viSprite, 1, me, "testRightScroll")
- poWrongQuestions = new(script("HotTextFieldParent"), viSprite + 1, 2, me, "testWrongScroll")
- end if
- add(the scriptInstanceList of sprite viSprite, poRightQuestions)
- add(the scriptInstanceList of sprite (viSprite + 1), poWrongQuestions)
- mDisable(poRightQuestions, 0)
- mDisable(poWrongQuestions, 0)
- mSetNotifyOnMouseDown(poRightQuestions, 0)
- mSetNotifyOnMouseDown(poWrongQuestions, 0)
- mResetColour(poRightQuestions)
- mResetColour(poWrongQuestions)
- mShow(poRightQuestions)
- mShow(poWrongQuestions)
- end
-
- on mInitNumberFields me
- viSprite = mGiveDot(poDotMan)
- set the member of sprite viSprite to "question_num"
- member("question_num").text = string(piCurQuestion)
- AlignTextBoxToSpacer(viSprite, "QuestNumSpacer")
- set the ink of sprite viSprite to 36
- viSprite = mGiveDot(poDotMan)
- member("total_questions").text = string(piNumQuestions)
- set the member of sprite viSprite to "total_questions"
- AlignTextBoxToSpacer(viSprite, "TotalQuestionsSpacer")
- set the ink of sprite viSprite to 36
- viSprite = mGiveDot(poDotMan)
- member("total_correct").text = string(piTotalCorrect)
- set the member of sprite viSprite to "total_correct"
- AlignTextBoxToSpacer(viSprite, string(pzEvalType) & "TotalCorrectSpacer")
- set the ink of sprite viSprite to 36
- end
-
- on mSetButtonState me
- if piCurQuestion = 1 then
- mSetState(poPrev, #gray)
- mDisable(poPrev, 1)
- else
- mSetState(poPrev, #Up)
- mDisable(poPrev, 0)
- end if
- case pzEvalType of
- #test:
- mSetState(poTop, #Up)
- mSetState(poNext, #Up)
- mDisable(poTop, 0)
- mDisable(poNext, 0)
- #quiz:
- if piCurQuestion <= piNumQuestonsAnswered then
- mSetState(poTop, #Up)
- mDisable(poTop, 0)
- mSetState(poNext, #Up)
- mDisable(poNext, 0)
- else
- mSetState(poTop, #gray)
- mDisable(poTop, 1)
- mSetState(poNext, #gray)
- mDisable(poNext, 1)
- end if
- end case
- end
-
- on mDisable me, xbDisable
- mDisable(poPrev, xbDisable)
- mDisable(poTop, xbDisable)
- mDisable(poNext, xbDisable)
- end
-
- on mClearChapterSelection me
- mResetDots(poDotMan)
- if not voidp(poStartBtn) then
- mCleanUp(poStartBtn)
- poStartBtn = VOID
- mCleanUp(poChapterBtnGroup)
- poChapterBtnGroup = VOID
- end if
- if not voidp(poNumQuestionsRadio) then
- mCleanUp(poNumQuestionsRadio)
- poNumQuestionsRadio = VOID
- end if
- end
-
- on mInitQuestions me
- mInitBkg(me, string(pzEvalType) & "QuestBg")
- poQuestionTemplate = new(script("questionParent"), poDotMan, me, piNumAnswers, pzEvalType, pkMaxDigits)
- mInitQuestionTemplate(poQuestionTemplate, string(pzEvalType))
- if voidp(piCurQuestion) then
- mInitQuestionData(me)
- mSelectQuestions(me)
- end if
- mStartNewQuestion(me)
- piNumQuestonsAnswered = 0
- end
-
- on mInitQuestionData me
- piCurQuestion = 1
- piCurChapterQuestion = 1
- piTotalCorrect = 0
- plRightWrong = []
- plQuestionsAnswerOrder = []
- plFirstAnswer = []
- repeat with i = 1 to piNumQuestions
- setAt(plFirstAnswer, i, 0)
- append(plRightWrong, EMPTY)
- vlAnswerOrder = GetRandomListFrom1toX(piNumAnswers)
- addAt(plQuestionsAnswerOrder, i, duplicate(vlAnswerOrder))
- end repeat
- plAnswerOrder = getAt(plQuestionsAnswerOrder, 1)
- end
-
- on mSelectQuestions me
- viNumChapters = count(pliChapters)
- viQuestionsPerChapter = integer(piNumQuestions / viNumChapters)
- viRemainder = piNumQuestions - (viQuestionsPerChapter * viNumChapters)
- plpTestQuestions = [:]
- repeat with viChapter in pliChapters
- if getPos(pliChapters, viChapter) <= viRemainder then
- viNumQuestions = viQuestionsPerChapter + 1
- else
- viNumQuestions = viQuestionsPerChapter
- end if
- vsMemberName = IntegerToString(viChapter, 2)
- viNumQuestionsAvailable = the number of lines in the text of member vsMemberName
- vlNumberList = GetListFrom1toX(viNumQuestionsAvailable)
- repeat with i = 1 to viNumQuestions
- viQuestion = random(count(vlNumberList))
- viQuestion = getAt(vlNumberList, viQuestion)
- deleteOne(vlNumberList, viQuestion)
- addProp(plpTestQuestions, viChapter, viQuestion)
- end repeat
- end repeat
- plpTestQuestions = RandomizePropertyList(plpTestQuestions, piNumQuestions)
- end
-
- on mStartNewQuestion me
- member("question_num").text = string(piCurQuestion)
- piCurChapter = getPropAt(plpTestQuestions, piCurQuestion)
- piCurChapterQuestion = getAt(plpTestQuestions, piCurQuestion)
- psChapterQuestions = member(IntegerToString(piCurChapter, pkMaxDigits)).text
- vsQuestion = line piCurChapterQuestion of psChapterQuestions
- vlAnswerOrder = getAt(plQuestionsAnswerOrder, piCurQuestion)
- vlAnswerOrder = mSetQuestionData(poQuestionTemplate, vsQuestion, vlAnswerOrder)
- end
-
- on mResetAnsweredQuestion me
- viWhich = getAt(plFirstAnswer, piCurQuestion)
- if pzEvalType = #quiz then
- mMarkAnswer(poQuestionTemplate, viWhich)
- end if
- if viWhich then
- mSelectAnswer(poQuestionTemplate, viWhich)
- end if
- end
-
- on mReviewAQuestion me, xiNextQuestion
- piCurQuestion = xiNextQuestion
- mStartNewQuestion(me)
- mSetFromChapter(poQuestionTemplate, getPropAt(plpTestQuestions, piCurQuestion))
- mShowAnswer(poQuestionTemplate)
- viWhich = getAt(plFirstAnswer, piCurQuestion)
- mSelectAnswer(poQuestionTemplate, viWhich)
- mMarkAnswer(poQuestionTemplate, viWhich)
- mDisable(poQuestionTemplate, 1)
- if pzEvalType = #test then
- mHide(poPrev)
- mHide(poNext)
- end if
- end
-
- on mDisplaySummary me
- mInitBkg(me, string(pzEvalType) & "SummaryBG")
- piFirstSummarySprite = mGetLastDotGiven(poDotMan)
- set the ink of sprite piFirstSummarySprite to 0
- if pzEvalType = #quiz then
- mInitReviewQuestionBtns(me)
- else
- mInitReviewScrollText(me)
- end if
- viSprite = mGiveDot(poDotMan)
- member("total_correct").text = string(piTotalCorrect)
- set the member of sprite viSprite to "total_correct"
- AlignTextBoxToSpacer(viSprite, "summaryTotalCorrectSpacer")
- set the ink of sprite viSprite to 36
- viSprite = mGiveDot(poDotMan)
- member("total_correct_percentage").text = string(integer(100 * piTotalCorrect / piNumQuestions))
- set the member of sprite viSprite to "total_correct_percentage"
- AlignTextBoxToSpacer(viSprite, "TotalCorrectPercentageSpacer")
- set the ink of sprite viSprite to 36
- viSprite = mGiveDot(poDotMan)
- poPrintBtn = InitPopBtn(me, viSprite, "Print" & string(pzEvalType) & "Results", #mPrintBtnClick, #result, "clickSnd")
- piLastSummarySprite = mGetLastDotGiven(poDotMan)
- end
-
- on mDonePrint
- mSetState(poPrintBtn, #Up)
- mDisable(poPrintBtn, 0)
- if poStartBtn <> VOID then
- mSetState(poStartBtn, #Up)
- mDisable(poStartBtn, 0)
- end if
- cursor(0)
- end
-
- on mHandleNumQuestions me, xiID
- piNumQuestions = xiID * 20
- end
-
- on mHandleChapterSelectionClick me, xiChapter
- piCurChapter = xiChapter
- if mGetState(poStartBtn) = #gray then
- mSetState(poStartBtn, #Up)
- mDisable(poStartBtn, 0)
- mSetState(poPrintBtn, #Up)
- mDisable(poPrintBtn, 0)
- end if
- end
-
- on mHandlePrintBtnClick me, xzWhich
- mSetState(poPrintBtn, #gray)
- mDisable(poPrintBtn, 1)
- if poStartBtn <> VOID then
- mSetState(poStartBtn, #gray)
- mDisable(poStartBtn, 1)
- end if
- cursor(4)
- if not voidp(poChapterBtnGroup) then
- pliChapters = mGetChosenID(poChapterBtnGroup)
- end if
- if ilk(pliChapters) <> #list then
- pliChapters = [pliChapters]
- end if
- if mTotalNumQuestionsAvailable(me) < piNumQuestions then
- alert("You have chosen too many questions for the number of chapters selected.")
- pliChapters = []
- else
- if xzWhich = #clean then
- mInitQuestionData(me)
- mSelectQuestions(me)
- end if
- mSetHeaderFooter(poPrintEvaluation, pliChapters, string(pzEvalType), piNumQuestions)
- mPrintEvaluation(poPrintEvaluation, xzWhich, plpTestQuestions, plQuestionsAnswerOrder, plFirstAnswer, plRightWrong)
- end if
- end
-
- on mTotalNumQuestionsAvailable me
- viTotalAvailable = 0
- repeat with i = 1 to count(pliChapters)
- vsMemberName = IntegerToString(getAt(pliChapters, i), 2)
- viNum = the number of lines in the text of member vsMemberName
- viTotalAvailable = viTotalAvailable + viNum
- end repeat
- return viTotalAvailable
- end
-
- on mHandleStartBtnClick me
- pliChapters = mGetChosenID(poChapterBtnGroup)
- if ilk(pliChapters) <> #list then
- pliChapters = [pliChapters]
- end if
- if mTotalNumQuestionsAvailable(me) < piNumQuestions then
- alert("You have choosen too many questions for the number of chapters selected.")
- pliChapters = []
- else
- mClearChapterSelection(me)
- mInitQuestions(me)
- mInitNumberFields(me)
- mInitButtons(me, pzEvalType, "prev", "next")
- mSetButtonState(me)
- end if
- end
-
- on mHandleShowAnswer me
- mShowAnswer(poQuestionTemplate)
- end
-
- on mHandleDoneTest me
- mHide(poNext)
- mHide(poPrev)
- mSetMemberName(poTop, string(pzEvalType) & "Summary")
- mSetEvent(poTop, #returnToSummary)
- mDisplaySummary(me)
- end
-
- on mHandleTopBtnClick me, xzTop
- case xzTop of
- #newQuiz, #newTest:
- pliChapters = []
- set the text of field "curChoice" to "20"
- set the text of field "testRightScroll" to EMPTY
- set the text of field "testWrongScroll" to EMPTY
- member("fromChapterText").text = EMPTY
- deleteOne(the actorList, poRightQuestions)
- deleteOne(the actorList, poWrongQuestions)
- mInitSprites(me)
- puppetTransition(3, 2, 2, 1)
- end case
- end
-
- on mHandlePrevBtnClick me, xOpcode
- if piCurQuestion = 1 then
- mNotify(poOwner, #mQuizToStage)
- else
- piCurQuestion = piCurQuestion - 1
- mStartNewQuestion(me)
- mResetAnsweredQuestion(me)
- mSetButtonState(me)
- end if
- end
-
- on mHandleNextBtnClick me, xOpcode
- if piCurQuestion < piNumQuestions then
- piCurQuestion = piCurQuestion + 1
- mStartNewQuestion(me)
- mResetAnsweredQuestion(me)
- mSetButtonState(me)
- else
- if voidp(poOwner) then
- mHide(poNext)
- mHide(poPrev)
- mSetMemberName(poTop, string(pzEvalType) & "Summary")
- mSetEvent(poTop, #returnToSummary)
- mDisplaySummary(me)
- end if
- end if
- end
-
- on mHandleQuizWrong me, xiAnswer
- if getAt(plRightWrong, piCurQuestion) = EMPTY then
- piNumQuestonsAnswered = piNumQuestonsAnswered + 1
- mSetButtonState(me)
- setAt(plFirstAnswer, piCurQuestion, xiAnswer)
- setAt(plRightWrong, piCurQuestion, "wrong")
- end if
- end
-
- on mHandleQuizRight me, xiAnswer
- if getAt(plRightWrong, piCurQuestion) = EMPTY then
- piNumQuestonsAnswered = piNumQuestonsAnswered + 1
- setAt(plFirstAnswer, piCurQuestion, xiAnswer)
- setAt(plRightWrong, piCurQuestion, "right")
- piTotalCorrect = piTotalCorrect + 1
- member("total_correct").text = string(piTotalCorrect)
- mSetButtonState(me)
- end if
- end
-
- on mHandleTestWrong me, xiAnswer
- if getAt(plRightWrong, piCurQuestion) = EMPTY then
- piNumQuestonsAnswered = piNumQuestonsAnswered + 1
- end if
- if getAt(plRightWrong, piCurQuestion) = "right" then
- piTotalCorrect = piTotalCorrect - 1
- end if
- setAt(plFirstAnswer, piCurQuestion, xiAnswer)
- setAt(plRightWrong, piCurQuestion, "wrong")
- end
-
- on mHandleTestRight me, xiAnswer
- if getAt(plRightWrong, piCurQuestion) = EMPTY then
- piNumQuestonsAnswered = piNumQuestonsAnswered + 1
- end if
- if getAt(plRightWrong, piCurQuestion) <> "right" then
- piTotalCorrect = piTotalCorrect + 1
- end if
- setAt(plFirstAnswer, piCurQuestion, xiAnswer)
- setAt(plRightWrong, piCurQuestion, "right")
- end
-
- on mHandleQuestionReview me, xiQuestion
- mResetDots(poDotMan, piFirstSummarySprite, piLastSummarySprite)
- mReviewAQuestion(me, xiQuestion)
- end
-
- on mHandleScrollingList me, xiID
- if xiID = 1 then
- vsLine = mGetMouseLine(poRightQuestions)
- mSetLineColour(poRightQuestions, the foreColor of member "textHiliteColour")
- else
- vsLine = mGetMouseLine(poWrongQuestions)
- mSetLineColour(poWrongQuestions, the foreColor of member "textHiliteColour")
- end if
- if not ((vsLine = EMPTY) or (vsLine = VOID)) then
- vsNum = char offset(" ", vsLine) + 1 to offset("-", vsLine) - 2 of vsLine
- mHide(poRightQuestions)
- mHide(poWrongQuestions)
- deleteOne(the actorList, poRightQuestions)
- deleteOne(the actorList, poWrongQuestions)
- mResetDots(poDotMan, piFirstSummarySprite, piLastSummarySprite)
- mReviewAQuestion(me, integer(vsNum))
- end if
- end
-
- on mHandleReturnToSummary me
- mDisplaySummary(me)
- end
-
- on mPrintEvaluation me, xzWhich
- viNumChapters = count(pliChapters)
- vsChapter = "<center>Chapter "
- if viNumChapters > 1 then
- vsChapter = "<center>Chapters: "
- end if
- vsChapterNum = getAt(pliChapters, 1)
- repeat with i = 2 to viNumChapters
- vsChapterNum = vsChapterNum & ", " & getAt(pliChapters, i)
- end repeat
- vsEvaluation = string(pzEvalType) & "#RETURN" & vsChapter & vsChapterNum & " " & string(pzEvalType) & "</center><BR><BR><BR><OL>"
- vlLetters = ["a", "b", "c", "d", "e"]
- vsOld = the itemDelimiter
- the itemDelimiter = TAB
- viCurline = 3
- repeat with i = 1 to piNumQuestions
- viCurChapter = getPropAt(plpTestQuestions, i)
- viCurChapterQuestion = getAt(plpTestQuestions, i)
- vsChapterQuestions = member(IntegerToString(viCurChapter, pkMaxDigits)).text
- vsAQuestion = line viCurChapterQuestion of vsChapterQuestions
- vlAnswerOrder = getAt(plQuestionsAnswerOrder, i)
- vsResult = getAt(plRightWrong, i)
- vsEvaluation = vsEvaluation & "<LI>" & item 1 of vsAQuestion & "<BR><BR>"
- if xzWhich = #clean then
- vsEvaluation = vsEvaluation & "<OL TYPE=" & "a" & ">"
- else
- vsEvaluation = vsEvaluation & "<OL>"
- end if
- delete item 1 of vsAQuestion
- if item 1 of vsAQuestion <> EMPTY then
- vlAnswerOrder = GetListFrom1toX(piNumAnswers)
- viRight = value(item 1 of vsAQuestion)
- else
- viRight = 1
- end if
- delete item 1 of vsAQuestion
- case xzWhich of
- #clean:
- repeat with j = 1 to the number of items in vsAQuestion
- viWhichAnswer = getAt(vlAnswerOrder, j)
- vsEvaluation = vsEvaluation & "<LI>" & item viWhichAnswer of vsAQuestion
- end repeat
- #result:
- viAnswer = getAt(plFirstAnswer, i)
- viLetterPos = getPos(vlAnswerOrder, viAnswer)
- if viLetterPos then
- vsEvaluation = vsEvaluation & "Your Answer: " & getAt(vlLetters, viLetterPos) & ") " & item viAnswer of vsAQuestion & "<BR><BR>"
- end if
- if vsResult <> "right" then
- vsEvaluation = vsEvaluation & "Correct Answer: " & getAt(vlLetters, getPos(vlAnswerOrder, viRight)) & ") " & item viRight of vsAQuestion
- end if
- end case
- vsEvaluation = vsEvaluation & "</OL><BR><BR>"
- end repeat
- vsEvaluation = vsEvaluation & "</OL>"
- the itemDelimiter = vsOld
- alert("The new window will take a moment to open.")
- gotoNetPage("javascript:doPrintable(" & QUOTE & vsEvaluation & QUOTE & ")")
- end
-
- on mHandleCloseBtn me
- sound close 1
- end
-
- on mNotify me, xiEvent, xOpcode
- case xiEvent of
- #chapterSelectionClick:
- mHandleChapterSelectionClick(me, xOpcode)
- #numQuestionsRadioBtn:
- mHandleNumQuestions(me, xOpcode)
- #mStartBtnClick:
- mHandleStartBtnClick(me, xOpcode)
- #mPrintBtnClick:
- mHandlePrintBtnClick(me, xOpcode)
- #showAnswer:
- mHandleShowAnswer(me, xOpcode)
- #donetest:
- mHandleDoneTest(me, xOpcode)
- #mPrevBtnClick:
- mHandlePrevBtnClick(me, xOpcode)
- #mNextBtnClick:
- mHandleNextBtnClick(me, xOpcode)
- #quizwrong:
- mHandleQuizWrong(me, xOpcode)
- #quizright:
- mHandleQuizRight(me, xOpcode)
- #testright:
- mHandleTestRight(me, xOpcode)
- #testwrong:
- mHandleTestWrong(me, xOpcode)
- #questionReview:
- mHandleQuestionReview(me, xOpcode)
- #TextFieldMouseDown:
- mHandleScrollingList(me, xOpcode)
- #returnToSummary:
- mHandleReturnToSummary(me)
- #close:
- mHandleCloseBtn(me, xOpcode)
- #printDone:
- mDonePrint(me)
- end case
- end
-
- on mCleanUp me
- if not voidp(poQuestionTemplate) then
- mCleanUp(poQuestionTemplate)
- end if
- poQuestionTemplate = VOID
- mResetDots(poDotMan)
- poDotMan = VOID
- plRightWrong = []
- plQuestionsAnswerOrder = []
- plFirstAnswer = []
- pliChapters = []
- poNumQuestionsRadio = VOID
- plpTestQuestions = []
- poRightQuestions = VOID
- poWrongQuestions = VOID
- end
-